1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, The Scope team
4 * All rights reserved.
5 *
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * Neither the name "Scope" nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 *
36 * $Id: DateTimeStringConvertor.java,v 1.5 2002/09/05 15:41:46 ludovicc Exp $
37 */
38 package org.scopemvc.util.convertor;
39
40 import java.io.Serializable;
41
42 import java.text.DateFormat;
43 import java.text.ParseException;
44
45 /***
46 * String convertor for type {@link org.scopemvc.util.DateTime} or <code>java.util.Date</code>
47 * . Both date and time parts of <code>Date</code> instances are used. <p>
48 *
49 * It uses one <code>java.text.DateFormat DateFormat</code> for converting into
50 * <code>String</code> and an array of <code>DateFormat</code>s for parsing.
51 * Parsing formats are successively used to try to parse until one is
52 * successful. </p> <p>
53 *
54 * Formats are picked up from config (see {@link
55 * org.scopemvc.util.DefaultScopeConfig} for details) or if none in config, the
56 * default formatter is: <pre>
57 * DateFormat.getDateTimeInstance()
58 * </pre> and default parsers are: <pre>
59 * DateFormat.getDateTimeInstance((FULL|LONG|MEDIUM|SHORT),
60 * (FULL|LONG|MEDIUM|SHORT));
61 * </pre> <i>Note:</i> the default parsing set is initialized during class
62 * loading and based on default platform locale. If application uses other
63 * locales, there will be need to set parsing objects explicitly.
64 *
65 * @author <A HREF="mailto:danmi@users.sourceforge.net">Daniel Michalik</A>
66 * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A>
67 * @created 05 September 2002
68 * @version $Revision: 1.5 $ $Date: 2002/09/05 15:41:46 $
69 * @see DateStringConvertor
70 * @see TimeStringConvertor
71 */
72 public class DateTimeStringConvertor extends DateStringConvertor {
73
74 // ------------- Defaults if no config specified ----------------
75 private final static DateFormat defaultParsers[] = new DateFormat[16];
76 static {
77 defaultParsers[15] = DateFormat.getDateTimeInstance(
78 DateFormat.SHORT, DateFormat.SHORT);
79 defaultParsers[14] = DateFormat.getDateTimeInstance(
80 DateFormat.SHORT, DateFormat.MEDIUM);
81 defaultParsers[13] = DateFormat.getDateTimeInstance(
82 DateFormat.SHORT, DateFormat.LONG);
83 defaultParsers[12] = DateFormat.getDateTimeInstance(
84 DateFormat.SHORT, DateFormat.FULL);
85
86 defaultParsers[11] = DateFormat.getDateTimeInstance(
87 DateFormat.MEDIUM, DateFormat.SHORT);
88 defaultParsers[10] = DateFormat.getDateTimeInstance(
89 DateFormat.MEDIUM, DateFormat.MEDIUM);
90 defaultParsers[9] = DateFormat.getDateTimeInstance(
91 DateFormat.MEDIUM, DateFormat.LONG);
92 defaultParsers[8] = DateFormat.getDateTimeInstance(
93 DateFormat.MEDIUM, DateFormat.FULL);
94
95 defaultParsers[7] = DateFormat.getDateTimeInstance(
96 DateFormat.LONG, DateFormat.SHORT);
97 defaultParsers[6] = DateFormat.getDateTimeInstance(
98 DateFormat.LONG, DateFormat.MEDIUM);
99 defaultParsers[5] = DateFormat.getDateTimeInstance(
100 DateFormat.LONG, DateFormat.LONG);
101 defaultParsers[4] = DateFormat.getDateTimeInstance(
102 DateFormat.LONG, DateFormat.FULL);
103
104 defaultParsers[3] = DateFormat.getDateTimeInstance(
105 DateFormat.FULL, DateFormat.SHORT);
106 defaultParsers[2] = DateFormat.getDateTimeInstance(
107 DateFormat.FULL, DateFormat.MEDIUM);
108 defaultParsers[1] = DateFormat.getDateTimeInstance(
109 DateFormat.FULL, DateFormat.LONG);
110 defaultParsers[0] = DateFormat.getDateTimeInstance(
111 DateFormat.FULL, DateFormat.FULL);
112 }
113
114 // ------------------------------------------------------------------
115
116 /***
117 * Creates new TimeStringConvertor. If formats and parsers are specified in
118 * config then use those else use current locale default format and platform
119 * locale default parsers.
120 */
121 public DateTimeStringConvertor() {
122 super();
123 }
124
125
126 /***
127 * Creates new DateTimeStringConvertor with specified formatter and parsers.
128 *
129 * @param inFormatter TODO: Describe the Parameter
130 * @param inParsers TODO: Describe the Parameter
131 */
132 public DateTimeStringConvertor(DateFormat inFormatter, DateFormat inParsers[]) {
133 super(inFormatter, inParsers);
134 }
135
136
137 /***
138 * Gets the default parsers
139 *
140 * @return The defaultParsers value
141 */
142 protected DateFormat[] getDefaultParsers() {
143 return DateTimeStringConvertor.defaultParsers;
144 }
145 }
146
This page was automatically generated by Maven